﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace deneme
{
    public partial class Anasayfa : Form
    {

        SqlConnection con = new SqlConnection(ClassSqlConnection.ConnectionString);
        ClassScalar cs = new ClassScalar();



        public Anasayfa()
        {
            InitializeComponent();
        }

        private void Anabtn1_Click(object sender, EventArgs e)
        {
            //*******************************************************************
            //Trim methodu TextBox ın içindeki sağ ve solunda eğer boşluk varsa görmezden geliceğini belirtir.
            //*******************************************************************
            if (Anatxt1.Text.Trim() == String.Empty)
            {
                MessageBox.Show("Kullanici Adi Giriniz!");
                return;  // işlemi sona erdir. 
            }
            if (Anatxt2.Text.Trim() == String.Empty)
            {
                MessageBox.Show("Sifre Giriniz!");
                return;  // işlemi sona erdir. 
            }
            if (eşitleme(Anatxt1.Text, Anatxt2.Text) > 0)
            {
                try
                {
                    object yetkiNo = cs.CommScalar("SELECT KullaniciTipID FROM tblKullanici WHERE KullaniciAd LIKE '" + Anatxt1.Text + "' AND KullaniciSifre LIKE '" + Anatxt2.Text + "'", CommandType.Text);
                    SqlCommand cmd = new SqlCommand("sp$KullaniciGirisİslem", con);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@KullaniciAd", Anatxt1.Text);
                    cmd.Parameters.AddWithValue("@KullaniciSifre", Anatxt2.Text);
                    cmd.ExecuteNonQuery();

                    //if (yetkiNo == null)
                    // MessageBox.Show("Kullanıcı Bulunamadı");
                    if ((int)yetkiNo == 1)
                    {
                        AdminForm adminEkrani = new AdminForm();
                        adminEkrani.Show();
                        con.Close();
                        //this.Close();
                    }
                    else if ((int)yetkiNo == 2)
                    {
                        UserForm spsf = new UserForm();
                        spsf.Show();
                        con.Close();
                        //this.Close();
                    }
                    else if ((int)yetkiNo == 3)
                    {
                        PersonelForm  spf = new PersonelForm();
                        spf.Show();
                        con.Close();
                        //this.Close();
                    }

                    con.Close();
                }
                catch (Exception)
                {

                    MessageBox.Show("Kullanici Girisinde bir hata olustu!");
                }
                finally
                {
                    con.Close();
                }



                //MessageBox.Show("Giriş yapıldı!");
                //con.Close();
            }
            else
            {
                MessageBox.Show("KullaniciAd veya Şifre Hatalı!");
                con.Close();
            }
       
        }
        private int eşitleme(string user, string pass) //Kullancilar için esitleme
        {
            con.Open();
            user.Trim(); //trim() methodu text'in başındaki ve sonundaki boşlukları kaldırır.
            pass.Trim(); //trim() methodu text'in başındaki ve sonundaki boşlukları kaldırır.

            //Girisdeneme();
            string sql = "SELECT KullaniciAd,KullaniciSifre FROM tblKullanici   WHERE KullaniciAd='" + user + "'  AND KullaniciSifre='" + pass + "'";
            SqlCommand cmd = new SqlCommand(sql, con);

            if (con.State != ConnectionState.Open)
                con.Open();


            if (cmd.ExecuteScalar() != null)

                return 1;
            else
                return 0;
        }

        private void Anasayfa_Load(object sender, EventArgs e)
        {
            Anatxt2.PasswordChar = (char)42;  // girdiğimiş şifrenin **** olarak gözükmesi için 42 numarası ascı 'deki karşılığı
        }

        private void Anabtn2_Click(object sender, EventArgs e)
        {
            con.Open();
            DialogResult çıkış;
            çıkış = MessageBox.Show("Çıkmak istediğinizden emin misiniz?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (çıkış == DialogResult.Yes)
            {

                con.Close();
                Application.Exit();
            }
        }
    
    
    
    
    
    
    
    
    
    }
}
